数据类型就是告诉数据库:这一列要存什么格式的数据?
选对类型,省空间、跑得快、还不出错。
数字类型分两大家族:整数类型(没有小数点)和 数值类型(可以有小数点)。
TINYINT 就够了(0~255),没必要用 INT。
用来存文字的类型,主要有三兄弟:CHAR、VARCHAR 和 TEXT。
| 类型 | 特点 | 适用场景 |
|---|---|---|
CHAR(n) |
定长,最多 255 字符 | 身份证号、手机号、性别(M/F) |
VARCHAR(n) |
变长,最多 65535 字节 | 用户名、邮箱、地址 |
TINYTEXT |
最多 255 字节 | 短备注 |
TEXT |
最多 ~6.5万 字节 | 文章正文、评论 |
MEDIUMTEXT |
最多 ~1600万 字节 | 长篇内容 |
LONGTEXT |
最多 ~42亿 字节 | 超长文档(一般用不到) |
CHAR 查询更快;长度不确定就用 VARCHAR,更省空间。
时间类型用来记录"什么时候"发生的事,有 5 种选择。
二进制类型存的是原始字节数据,不关心是什么文字编码。
MySQL 还有两种特殊的"选择题"类型:ENUM(单选)和 SET(多选)。